this.add_child(this._scrollView);
+ this._settings = new Gio.Settings({
+ schema_id: 'org.gnome.desktop.notifications',
+ });
+
this._sources = new Map();
Main.messageTray.getSources().forEach(source => {
this._sourceAdded(Main.messageTray, source, true);
this._updateSourceBoxStyle(source, obj, box);
}
+ _wakeUpScreenForSource(source) {
+ if (!this._settings.get_boolean('show-banners'))
+ return;
+ const obj = this._sources.get(source);
+ if (obj?.sourceBox.visible)
+ this.emit('wake-up-screen');
+ }
+
_sourceAdded(tray, source, initial) {
let obj = {
visible: source.policy.showInLockScreen,
});
this._updateVisibility();
- if (obj.sourceBox.visible)
- this.emit('wake-up-screen');
+ this._wakeUpScreenForSource(source);
}
}
obj.sourceBox.visible = obj.visible && (source.unseenCount > 0);
this._updateVisibility();
- if (obj.sourceBox.visible)
- this.emit('wake-up-screen');
+ this._wakeUpScreenForSource(source);
}
_visibleChanged(source, obj) {
obj.sourceBox.visible = obj.visible && source.unseenCount > 0;
this._updateVisibility();
- if (obj.sourceBox.visible)
- this.emit('wake-up-screen');
+ this._wakeUpScreenForSource(source);
}
_detailedChanged(source, obj) {